'KAN ANVÄNDAS SÅ HÄR: ConvertLinks(radbryt(HTMLTecken( Variabel_med_text ))) 'FUNKTIONERNA: Function HTMLTecken(txtString) txtString = Server.HTMLEncode(Trim(txtString)) txtString = SMILETecken(txtString) HTMLTecken = txtString End Function Function Radbryt(rfix) rfix = "

" & Replace(rfix, vbCrLf, "
") & "

" Radbryt = rfix End Function Function SMILETecken(txtString) txtString = Replace(txtString, ":-)", "") txtString = Replace(txtString, ";-)", "") txtString = Replace(txtString, "B-)", "") txtString = Replace(txtString, ":-D", "") txtString = Replace(txtString, ":b)", "") txtString = Replace(txtString, "B~>", "") txtString = Replace(txtString, "X/>", "") txtString = Replace(txtString, ":>)", "") txtString = Replace(txtString, ":P", "") txtString = Replace(txtString, ">:D", "") txtString = Replace(txtString, ":-p", "") txtString = Replace(txtString, "(c:", "") txtString = Replace(txtString, ":-!", "") txtString = Replace(txtString, ":-?", "") txtString = Replace(txtString, ":-/", "") txtString = Replace(txtString, ":-o", "") txtString = Replace(txtString, ":-O", "") txtString = Replace(txtString, ":>B", "") txtString = Replace(txtString, ":-(", "") txtString = Replace(txtString, ":(", "") txtString = Replace(txtString, "X-b", "") txtString = Replace(txtString, "8-C", "") SMILETecken = txtString End Function '---------------------------------------------------- ' * ConvertLinks * ' Fixa så att länkar blir länkade i HTML-koden. ' Det mesta av koden kommer från www.ojmnet.com ' Kan göras med färre rader om man använder RegExp, ' men lazy bastards ändrar inte old stuff som funkar :-) '---------------------------------------------------- Function ConvertLinks(svalue) svalue = ConvertLinksHREF(svalue, "http://") svalue = ConvertLinksHREF(svalue, "ftp://") svalue = ConvertLinksHREF(svalue, "news://") svalue = ConvertLinksHREF(svalue, "mailto:") ConvertLinks = svalue End Function Function ConvertLinksHREF(svalue, sHREF) Dim iPos1, iPos2, sTemp, sTemp1, sTemp2 iPos2 = 1 iPos1 = InStr(1, svalue, sHREF, 1) Do While iPos1 > 0 iPos2 = FindLinkEnd(svalue, iPos1 + Len(sHREF)) If iPos2 > 0 Then sTemp1 = Mid(svalue, iPos1, iPos2 - iPos1) sTemp2 = "" & sTemp1 & "" svalue = Left(svalue, iPos1 - 1) & sTemp2 & Mid(svalue, iPos2) iPos2 = iPos1 + Len(sTemp2) + 1 Else iPos2 = iPos1 + Len(sHREF) End If iPos1 = InStr(iPos2, svalue, sHREF, 1) Loop ConvertLinksHREF = svalue End Function Function FindLinkEnd(svalue, iPos1) Dim iPos2, i, iLen, iTempPos Dim sValidChars sValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-.,@/+?_=~#&;%:" iLen = iPos1 + Len(Mid(svalue, iPos1)) - 1 iPos2 = -1 For i = iPos1 To iLen iTempPos = InStr(1, sValidChars, Mid(svalue, i, 1), 1) If iTempPos = 0 Then If i < iPos1 + 4 Then iPos2 = -1 Else iPos2 = i End If Exit For End If Next If iPos2 = 0 Then iPos2 = Len(svalue) + 1 End If FindLinkEnd = iPos2 End Function